{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 12 读取数据和简单的数据探索"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "import numpy as np "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "import matplotlib as mpl\n",
    "import matplotlib.pyplot as plt"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "from sklearn import datasets"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "iris = datasets.load_iris()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "dict_keys(['data', 'target', 'target_names', 'DESCR', 'feature_names'])"
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "iris.keys()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Iris Plants Database\n",
      "====================\n",
      "\n",
      "Notes\n",
      "-----\n",
      "Data Set Characteristics:\n",
      "    :Number of Instances: 150 (50 in each of three classes)\n",
      "    :Number of Attributes: 4 numeric, predictive attributes and the class\n",
      "    :Attribute Information:\n",
      "        - sepal length in cm\n",
      "        - sepal width in cm\n",
      "        - petal length in cm\n",
      "        - petal width in cm\n",
      "        - class:\n",
      "                - Iris-Setosa\n",
      "                - Iris-Versicolour\n",
      "                - Iris-Virginica\n",
      "    :Summary Statistics:\n",
      "\n",
      "    ============== ==== ==== ======= ===== ====================\n",
      "                    Min  Max   Mean    SD   Class Correlation\n",
      "    ============== ==== ==== ======= ===== ====================\n",
      "    sepal length:   4.3  7.9   5.84   0.83    0.7826\n",
      "    sepal width:    2.0  4.4   3.05   0.43   -0.4194\n",
      "    petal length:   1.0  6.9   3.76   1.76    0.9490  (high!)\n",
      "    petal width:    0.1  2.5   1.20  0.76     0.9565  (high!)\n",
      "    ============== ==== ==== ======= ===== ====================\n",
      "\n",
      "    :Missing Attribute Values: None\n",
      "    :Class Distribution: 33.3% for each of 3 classes.\n",
      "    :Creator: R.A. Fisher\n",
      "    :Donor: Michael Marshall (MARSHALL%PLU@io.arc.nasa.gov)\n",
      "    :Date: July, 1988\n",
      "\n",
      "This is a copy of UCI ML iris datasets.\n",
      "http://archive.ics.uci.edu/ml/datasets/Iris\n",
      "\n",
      "The famous Iris database, first used by Sir R.A Fisher\n",
      "\n",
      "This is perhaps the best known database to be found in the\n",
      "pattern recognition literature.  Fisher's paper is a classic in the field and\n",
      "is referenced frequently to this day.  (See Duda & Hart, for example.)  The\n",
      "data set contains 3 classes of 50 instances each, where each class refers to a\n",
      "type of iris plant.  One class is linearly separable from the other 2; the\n",
      "latter are NOT linearly separable from each other.\n",
      "\n",
      "References\n",
      "----------\n",
      "   - Fisher,R.A. \"The use of multiple measurements in taxonomic problems\"\n",
      "     Annual Eugenics, 7, Part II, 179-188 (1936); also in \"Contributions to\n",
      "     Mathematical Statistics\" (John Wiley, NY, 1950).\n",
      "   - Duda,R.O., & Hart,P.E. (1973) Pattern Classification and Scene Analysis.\n",
      "     (Q327.D83) John Wiley & Sons.  ISBN 0-471-22361-1.  See page 218.\n",
      "   - Dasarathy, B.V. (1980) \"Nosing Around the Neighborhood: A New System\n",
      "     Structure and Classification Rule for Recognition in Partially Exposed\n",
      "     Environments\".  IEEE Transactions on Pattern Analysis and Machine\n",
      "     Intelligence, Vol. PAMI-2, No. 1, 67-71.\n",
      "   - Gates, G.W. (1972) \"The Reduced Nearest Neighbor Rule\".  IEEE Transactions\n",
      "     on Information Theory, May 1972, 431-433.\n",
      "   - See also: 1988 MLC Proceedings, 54-64.  Cheeseman et al\"s AUTOCLASS II\n",
      "     conceptual clustering system finds 3 classes in the data.\n",
      "   - Many, many more ...\n",
      "\n"
     ]
    }
   ],
   "source": [
    "print(iris.DESCR)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([[ 5.1,  3.5,  1.4,  0.2],\n",
       "       [ 4.9,  3. ,  1.4,  0.2],\n",
       "       [ 4.7,  3.2,  1.3,  0.2],\n",
       "       [ 4.6,  3.1,  1.5,  0.2],\n",
       "       [ 5. ,  3.6,  1.4,  0.2],\n",
       "       [ 5.4,  3.9,  1.7,  0.4],\n",
       "       [ 4.6,  3.4,  1.4,  0.3],\n",
       "       [ 5. ,  3.4,  1.5,  0.2],\n",
       "       [ 4.4,  2.9,  1.4,  0.2],\n",
       "       [ 4.9,  3.1,  1.5,  0.1],\n",
       "       [ 5.4,  3.7,  1.5,  0.2],\n",
       "       [ 4.8,  3.4,  1.6,  0.2],\n",
       "       [ 4.8,  3. ,  1.4,  0.1],\n",
       "       [ 4.3,  3. ,  1.1,  0.1],\n",
       "       [ 5.8,  4. ,  1.2,  0.2],\n",
       "       [ 5.7,  4.4,  1.5,  0.4],\n",
       "       [ 5.4,  3.9,  1.3,  0.4],\n",
       "       [ 5.1,  3.5,  1.4,  0.3],\n",
       "       [ 5.7,  3.8,  1.7,  0.3],\n",
       "       [ 5.1,  3.8,  1.5,  0.3],\n",
       "       [ 5.4,  3.4,  1.7,  0.2],\n",
       "       [ 5.1,  3.7,  1.5,  0.4],\n",
       "       [ 4.6,  3.6,  1. ,  0.2],\n",
       "       [ 5.1,  3.3,  1.7,  0.5],\n",
       "       [ 4.8,  3.4,  1.9,  0.2],\n",
       "       [ 5. ,  3. ,  1.6,  0.2],\n",
       "       [ 5. ,  3.4,  1.6,  0.4],\n",
       "       [ 5.2,  3.5,  1.5,  0.2],\n",
       "       [ 5.2,  3.4,  1.4,  0.2],\n",
       "       [ 4.7,  3.2,  1.6,  0.2],\n",
       "       [ 4.8,  3.1,  1.6,  0.2],\n",
       "       [ 5.4,  3.4,  1.5,  0.4],\n",
       "       [ 5.2,  4.1,  1.5,  0.1],\n",
       "       [ 5.5,  4.2,  1.4,  0.2],\n",
       "       [ 4.9,  3.1,  1.5,  0.1],\n",
       "       [ 5. ,  3.2,  1.2,  0.2],\n",
       "       [ 5.5,  3.5,  1.3,  0.2],\n",
       "       [ 4.9,  3.1,  1.5,  0.1],\n",
       "       [ 4.4,  3. ,  1.3,  0.2],\n",
       "       [ 5.1,  3.4,  1.5,  0.2],\n",
       "       [ 5. ,  3.5,  1.3,  0.3],\n",
       "       [ 4.5,  2.3,  1.3,  0.3],\n",
       "       [ 4.4,  3.2,  1.3,  0.2],\n",
       "       [ 5. ,  3.5,  1.6,  0.6],\n",
       "       [ 5.1,  3.8,  1.9,  0.4],\n",
       "       [ 4.8,  3. ,  1.4,  0.3],\n",
       "       [ 5.1,  3.8,  1.6,  0.2],\n",
       "       [ 4.6,  3.2,  1.4,  0.2],\n",
       "       [ 5.3,  3.7,  1.5,  0.2],\n",
       "       [ 5. ,  3.3,  1.4,  0.2],\n",
       "       [ 7. ,  3.2,  4.7,  1.4],\n",
       "       [ 6.4,  3.2,  4.5,  1.5],\n",
       "       [ 6.9,  3.1,  4.9,  1.5],\n",
       "       [ 5.5,  2.3,  4. ,  1.3],\n",
       "       [ 6.5,  2.8,  4.6,  1.5],\n",
       "       [ 5.7,  2.8,  4.5,  1.3],\n",
       "       [ 6.3,  3.3,  4.7,  1.6],\n",
       "       [ 4.9,  2.4,  3.3,  1. ],\n",
       "       [ 6.6,  2.9,  4.6,  1.3],\n",
       "       [ 5.2,  2.7,  3.9,  1.4],\n",
       "       [ 5. ,  2. ,  3.5,  1. ],\n",
       "       [ 5.9,  3. ,  4.2,  1.5],\n",
       "       [ 6. ,  2.2,  4. ,  1. ],\n",
       "       [ 6.1,  2.9,  4.7,  1.4],\n",
       "       [ 5.6,  2.9,  3.6,  1.3],\n",
       "       [ 6.7,  3.1,  4.4,  1.4],\n",
       "       [ 5.6,  3. ,  4.5,  1.5],\n",
       "       [ 5.8,  2.7,  4.1,  1. ],\n",
       "       [ 6.2,  2.2,  4.5,  1.5],\n",
       "       [ 5.6,  2.5,  3.9,  1.1],\n",
       "       [ 5.9,  3.2,  4.8,  1.8],\n",
       "       [ 6.1,  2.8,  4. ,  1.3],\n",
       "       [ 6.3,  2.5,  4.9,  1.5],\n",
       "       [ 6.1,  2.8,  4.7,  1.2],\n",
       "       [ 6.4,  2.9,  4.3,  1.3],\n",
       "       [ 6.6,  3. ,  4.4,  1.4],\n",
       "       [ 6.8,  2.8,  4.8,  1.4],\n",
       "       [ 6.7,  3. ,  5. ,  1.7],\n",
       "       [ 6. ,  2.9,  4.5,  1.5],\n",
       "       [ 5.7,  2.6,  3.5,  1. ],\n",
       "       [ 5.5,  2.4,  3.8,  1.1],\n",
       "       [ 5.5,  2.4,  3.7,  1. ],\n",
       "       [ 5.8,  2.7,  3.9,  1.2],\n",
       "       [ 6. ,  2.7,  5.1,  1.6],\n",
       "       [ 5.4,  3. ,  4.5,  1.5],\n",
       "       [ 6. ,  3.4,  4.5,  1.6],\n",
       "       [ 6.7,  3.1,  4.7,  1.5],\n",
       "       [ 6.3,  2.3,  4.4,  1.3],\n",
       "       [ 5.6,  3. ,  4.1,  1.3],\n",
       "       [ 5.5,  2.5,  4. ,  1.3],\n",
       "       [ 5.5,  2.6,  4.4,  1.2],\n",
       "       [ 6.1,  3. ,  4.6,  1.4],\n",
       "       [ 5.8,  2.6,  4. ,  1.2],\n",
       "       [ 5. ,  2.3,  3.3,  1. ],\n",
       "       [ 5.6,  2.7,  4.2,  1.3],\n",
       "       [ 5.7,  3. ,  4.2,  1.2],\n",
       "       [ 5.7,  2.9,  4.2,  1.3],\n",
       "       [ 6.2,  2.9,  4.3,  1.3],\n",
       "       [ 5.1,  2.5,  3. ,  1.1],\n",
       "       [ 5.7,  2.8,  4.1,  1.3],\n",
       "       [ 6.3,  3.3,  6. ,  2.5],\n",
       "       [ 5.8,  2.7,  5.1,  1.9],\n",
       "       [ 7.1,  3. ,  5.9,  2.1],\n",
       "       [ 6.3,  2.9,  5.6,  1.8],\n",
       "       [ 6.5,  3. ,  5.8,  2.2],\n",
       "       [ 7.6,  3. ,  6.6,  2.1],\n",
       "       [ 4.9,  2.5,  4.5,  1.7],\n",
       "       [ 7.3,  2.9,  6.3,  1.8],\n",
       "       [ 6.7,  2.5,  5.8,  1.8],\n",
       "       [ 7.2,  3.6,  6.1,  2.5],\n",
       "       [ 6.5,  3.2,  5.1,  2. ],\n",
       "       [ 6.4,  2.7,  5.3,  1.9],\n",
       "       [ 6.8,  3. ,  5.5,  2.1],\n",
       "       [ 5.7,  2.5,  5. ,  2. ],\n",
       "       [ 5.8,  2.8,  5.1,  2.4],\n",
       "       [ 6.4,  3.2,  5.3,  2.3],\n",
       "       [ 6.5,  3. ,  5.5,  1.8],\n",
       "       [ 7.7,  3.8,  6.7,  2.2],\n",
       "       [ 7.7,  2.6,  6.9,  2.3],\n",
       "       [ 6. ,  2.2,  5. ,  1.5],\n",
       "       [ 6.9,  3.2,  5.7,  2.3],\n",
       "       [ 5.6,  2.8,  4.9,  2. ],\n",
       "       [ 7.7,  2.8,  6.7,  2. ],\n",
       "       [ 6.3,  2.7,  4.9,  1.8],\n",
       "       [ 6.7,  3.3,  5.7,  2.1],\n",
       "       [ 7.2,  3.2,  6. ,  1.8],\n",
       "       [ 6.2,  2.8,  4.8,  1.8],\n",
       "       [ 6.1,  3. ,  4.9,  1.8],\n",
       "       [ 6.4,  2.8,  5.6,  2.1],\n",
       "       [ 7.2,  3. ,  5.8,  1.6],\n",
       "       [ 7.4,  2.8,  6.1,  1.9],\n",
       "       [ 7.9,  3.8,  6.4,  2. ],\n",
       "       [ 6.4,  2.8,  5.6,  2.2],\n",
       "       [ 6.3,  2.8,  5.1,  1.5],\n",
       "       [ 6.1,  2.6,  5.6,  1.4],\n",
       "       [ 7.7,  3. ,  6.1,  2.3],\n",
       "       [ 6.3,  3.4,  5.6,  2.4],\n",
       "       [ 6.4,  3.1,  5.5,  1.8],\n",
       "       [ 6. ,  3. ,  4.8,  1.8],\n",
       "       [ 6.9,  3.1,  5.4,  2.1],\n",
       "       [ 6.7,  3.1,  5.6,  2.4],\n",
       "       [ 6.9,  3.1,  5.1,  2.3],\n",
       "       [ 5.8,  2.7,  5.1,  1.9],\n",
       "       [ 6.8,  3.2,  5.9,  2.3],\n",
       "       [ 6.7,  3.3,  5.7,  2.5],\n",
       "       [ 6.7,  3. ,  5.2,  2.3],\n",
       "       [ 6.3,  2.5,  5. ,  1.9],\n",
       "       [ 6.5,  3. ,  5.2,  2. ],\n",
       "       [ 6.2,  3.4,  5.4,  2.3],\n",
       "       [ 5.9,  3. ,  5.1,  1.8]])"
      ]
     },
     "execution_count": 10,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "iris.data"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(150, 4)"
      ]
     },
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "iris.data.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "['sepal length (cm)',\n",
       " 'sepal width (cm)',\n",
       " 'petal length (cm)',\n",
       " 'petal width (cm)']"
      ]
     },
     "execution_count": 12,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "iris.feature_names"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n",
       "       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n",
       "       0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n",
       "       1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n",
       "       1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,\n",
       "       2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,\n",
       "       2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2])"
      ]
     },
     "execution_count": 13,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "iris.target"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(150,)"
      ]
     },
     "execution_count": 14,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "iris.target.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array(['setosa', 'versicolor', 'virginica'], \n",
       "      dtype='<U10')"
      ]
     },
     "execution_count": 15,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "iris.target_names"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "X = iris.data[:,:2]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\nVgAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x11c56ac18>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.scatter(X[:,0], X[:,1])\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "y = iris.target"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n3XKpLiX3VOUVZ6uPenJqP+08992WDyQG63wNQrflUl1K7qnKK85WH/XkzL33CLzV9pm8NZYtLyqG\n6ztfg9BtuVSXknuqZmeh2cyOoZtl/zabmydL89ZL4RYaszT2NqmdmQA3amcmaOxtFnYyFbKTpo2p\nxtu/1GtWozHV0MnUEaQTqiIiJTLaJ1T7rf8OeX0Rfc5Vxx6sLFOVVwdfRD/4GH3pi+qPL30IuYx1\nEI+BtR/ot3l3yOuL6HMeown5iCjLVDUWlpx7L+z3zr1j3ljIAi2iH3yMvvRF9ceXzhjZ9gP91n+H\nvL6IPueqYw9WlqnKq4Mvoh98jL70RfXHl85G97BMv/XfIa8vos+56tiDlWWq8urgi+gHH6MvfVH9\n8aU/1Uvu/dZ/h7y+iD7nqmMPVpapyquDL6IffIy+9EX1x5f+VC+591v/HfL6Ivqcq449WFmmKq8O\nvoh+8DH60hfVH1/6FHJgfhCPgfZz77d5d8jri+hzHqMJ+Ygoy1Q1Fpa8dueEc9C8dufE2ydTNxTR\nDz5GX/qi+uPLxRjZE6oiIhU2uidUY4hSxJszxsxMViO/8ZiZ6T9uSV4Rtd0zdyxjn89q6e3zk8zc\n0fs+Zh6Yxw7WsfsNO1hn5gH1hC8bJfd2G33SV1ezEt6NPum9JPi8MWZm4NixC19z7JgSfMUtP7vM\n3KNzrJ5exXFWT68y9+hc1AQ/c8cyxy6Zg8tXwRwuX+XYJXM9JfiZB+Y59uYi7FoHA3atc+zNRSX4\nktFhmXZRinhzxjDr/tohfR4yeEXUdtvnJ7PE3u6NCfxLYfuwg/Ussbc7X8MPqSf8sOmwzE5FKeIt\nSeG1FKqQ2u7LuozVbXkn1uV6jW7LJUlK7u2iFPGWpPBaClVIbffpLmN1W96Jd7leo9tySZKSe7so\nRbw5Y0xPd35dt+VSCUXUdk/bEfh523fv52PZ8tAxLpuD9qOD3loupaHk3i5Gn/S8MY4evTiRT09n\ny6WyZq+ZpfmxJhOXTWAYE5dN0PxYk9lr4vV7P/rALNM/a8IbWU953phg+mdNjj4Qvo+jdyww/c4G\nnK9lSf58jel3Njh6h3rCl4lOqIqIlEi0E6pm9g4z+2sz+5GZPWdmhzpsY2b2ZTN70cxOmNkHdxp4\nrpAa9BSae+f1ey/J+4gRQoypyN1HhD7peWMUYebhGeyQvf2Yefji8ti8+UqhZ3zIflLo5x6jt32y\n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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x11c257e80>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.scatter(X[y==0,0], X[y==0,1], color=\"red\")\n",
    "plt.scatter(X[y==1,0], X[y==1,1], color=\"blue\")\n",
    "plt.scatter(X[y==2,0], X[y==2,1], color=\"green\")\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 33,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\nJ5EHKVAAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x11bdf5390>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.scatter(X[y==0,0], X[y==0,1], color=\"red\", marker=\"o\")\n",
    "plt.scatter(X[y==1,0], X[y==1,1], color=\"blue\", marker=\"+\")\n",
    "plt.scatter(X[y==2,0], X[y==2,1], color=\"green\", marker=\"x\")\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "关于marker参数：[http://matplotlib.org/1.4.2/api/markers_api.html](http://matplotlib.org/1.4.2/api/markers_api.html)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 34,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "X = iris.data[:,2:]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 36,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\noQeHNPLISOha5Hd8/Y6abPgdX78j8trtjeqpvvaGezdo430bm+bPW8mpN9r37ifublpj3Dx8HtHc\ngRwplUpaeH1Bc6fmdGx4SCWVtHVqq179v1f16v+9qq1/0zi7LiWfDa+up9Lghx4c0qlXT2n+lXmN\nHRpreI1WaolTd6/m4ZmWAXLm3SMlHRse0qu/Ore07aJXrtavvVV69qWVs+tS8tnw6r9Mqq/9ro3v\n0me/+9kVr9FKLXHqLlIenpw7UFAjI1JJJT313vNz5O/61qKOflORsutS8tnwUqm07NpmFukardQS\np+6i5OGZcwcK6pvfLOmVm4dqtr1801Zt/Zvm2XUp+Wx4ZeRef+2xQ2NNr9FKLXHq7sk8fJR1gTvx\nYj13oHWLi4tLa7RfdMegv+s9i371A1cvrcd+9eeurtlncN+gLy4uLh2f9FrkYdeqvNeE/BP/8omG\n12illjyvv540JbieO4CM6Ovr09o3rC3Pp99Znk8vlY7pknsukSQd+6PG2XUp+Wx4TT3B/P7srbPa\ncO8G9ff1a88Nexpeo5VaemH99aQx5w6kxGPkrlvJuSd97aj1dCvnnvX115PGnDuQYXFz1/VNu6+v\nL3RbxchI+VWR9FrkYdeOeo1Wainy+utJo7kDXeY9mrtGdzHnDnRZ9Zzvnuk9S9nrTuSuK6P1J56o\nfX/0aGKXQEYxcgdSUN3gK/J4Qw2yi5E7kILKVEy13Ud2J97gKyN0Ruy9h5E70GXVc+ysQ45OYeQO\ndFkauWtG7L2HnDuQkqLkruPi99Aacu5AxplZTf58pYZWn1NPQifO2apeXGe9W2juAFJB3r+zmHMH\nUhA1f96JnHpWsu/dzPv3IkbuAFJD3r9zGLkDKYiaP+9ETj1L2fdu5f17ESN3AKkg799ZjNyBFEUd\nNXdidJ129r1X11nvFnLuQMGF5cglZSZbTs69NYnl3M1sv5m9ZGY/aPDzETNbMLO54HVXOwUDeRUn\nL25WfjU7X9RrDAyUXxVhOfIdD+/Qjod3ZCZb3mvrrHdLlDn3RyTtbLLPU+4+GLw+Hb8sAHGF5cjH\nD49ren5a0/PTGj8yTra8wJrOubv7k2a2ufOlAPkSJy9ePzitvH/Pe2rPNzcnDQ42v0ZltL6wUP3e\n9L//uzxHPrptVDJp7/Re7Z3eK4lseREllZa51sy+Z2aHzOyqRjuZ2S4zmzGzmdOnTyd0aQCNhOXI\n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\nAElFTkSuQmCC\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x11c00af98>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.scatter(X[y==0,0], X[y==0,1], color=\"red\", marker=\"o\")\n",
    "plt.scatter(X[y==1,0], X[y==1,1], color=\"blue\", marker=\"+\")\n",
    "plt.scatter(X[y==2,0], X[y==2,1], color=\"green\", marker=\"x\")\n",
    "plt.show()"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.1"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
